Multi-radio device for WLAN

ABSTRACT

The present disclosure includes systems and techniques relating to wireless local area network devices. A described technique include accessing a data stream intended for transmission to a single wireless communication device; multiplexing the data stream to two or more radio pathways to produce a data packet; generating, via the two or more radio pathways, two or more different portions of the data packet based on an aggregated capacity of two or more wireless channels that are associated with the two or more radio pathways, the two or more radio pathways being respectively configured to use two or more groups of orthogonal frequency division multiplexing (OFDM) subcarriers to generate the two or more different portions of the data packet; and transmitting the data packet to the single wireless communication device by concurrent transmissions of the two or more different portions via the two or more wireless channels.

CROSS REFERENCE TO RELATED APPLICATIONS

This disclosure is a continuation and claims the benefit of the priorityof U.S. application Ser. No. 13/948,994, filed Jul. 23, 2013, entitled“Multi-Radio Device for WLAN,” and issued as U.S. Pat. No. 9,226,270,which is a continuation-in-part of and claims the benefit of thepriority of U.S. patent application Ser. No. 12/731,007, filed Mar. 24,2010 and entitled “Multi-Radio Device for WLAN,” and issued as U.S. Pat.No. 8,773,969, which claims the benefit of the priority of U.S.Provisional Application Ser. No. 61/184,943, filed Jun. 8, 2009 andentitled “Dual Radio Device for WLAN,” and the benefit of the priorityof U.S. Provisional Application Ser. No. 61/162,790, filed Mar. 24, 2009and entitled “Dual Radio Device for WLAN.” In addition, this disclosureclaims the benefit of the priority of U.S. Provisional Application Ser.No. 61/674,709, filed Jul. 23, 2012 and entitled “Dual Radio Device forWLAN.” The disclosures of the above applications are incorporated hereinby reference in their entirety.

BACKGROUND

Wireless Local Area Networks (WLANs) include multiple wirelesscommunication devices that communicate over one or more wirelesschannels. When operating in an infrastructure mode, a wirelesscommunication device called an access point (AP) provides connectivitywith a network such as the Internet to other wireless communicationdevices, e.g., client stations or access terminals (AT). Variousexamples of wireless communication devices include mobile phones, smartphones, wireless routers, wireless hubs. In some cases, wirelesscommunication electronics are integrated with data processing equipmentsuch as laptops, personal digital assistants, and computers.

Wireless communication systems such as WLANs can use one or morewireless communication technologies such as orthogonal frequencydivision multiplexing (OFDM). In an OFDM based wireless communicationsystem, a data stream is split into multiple data substreams. Such datasubstreams are sent over different OFDM subcarriers, which can bereferred to as tones or frequency tones. Some wireless communicationsystems use a single-in-single-out (SISO) communication approach, whereeach wireless communication device uses a single antenna. Other wirelesscommunication systems use a multiple-in-multiple-out (MIMO)communication approach, where a wireless communication device usesmultiple transmit antennas and multiple receive antennas. WLANs such asthose defined in the Institute of Electrical and Electronics Engineers(IEEE) wireless communications standards, e.g., IEEE 802.11a or IEEE802.11n, can use OFDM to transmit and receive signals. Moreover, WLANs,such as ones based on the IEEE 802.11n standard, can use OFDM and MIMO.

SUMMARY

The present disclosure includes systems, apparatuses, and techniques forwireless local area networks.

Systems, apparatuses, and techniques for wireless local area networkscan include multiplexing information for a single wireless communicationdevice onto multiple radio pathways to produce a data packet, operatingthe multiple radio pathways to generate different portions of the datapacket, and transmitting the data packet to the single wirelesscommunication device by concurrent transmissions of the differentportions of the data packet over different wireless channels. Themultiple radio pathways can be associated with the different wirelesschannels.

Systems, apparatuses, and techniques for wireless local area networkscan include one or more of the following features. Transmitting the datapacket to the single wireless communication device can includetransmitting, in a first frequency band, a signal based on a firstportion of the different portions to the wireless communication device.Transmitting the data packet to the single wireless communication devicecan include transmitting, in a second frequency band, a signal based ona second portion of the different portions to the wireless communicationdevice.

Transmitting the packet to the single wireless communication device caninclude generating first transmit signals based on a first multiplexingmatrix and a first portion of the different portions and generatingsecond transmit signals based on a second multiplexing matrix and asecond portion of the different portions. The first multiplexing matrixcan be associated with a first radio unit of the wireless communicationdevice. The second multiplexing matrix can be associated with a secondradio unit of the wireless communication device. Implementations caninclude combining the first transmit signals and second transmit signalsto produce combined transmit signals and transmitting the combinedtransmit signals on multiple transmit antennas, respectively.

Implementations can include generating, in a medium access control (MAC)layer, a MAC protocol data unit (MPDU) for the wireless communicationdevice. Radio pathways can include a first radio pathway and a secondradio pathway. Multiplexing the information can include providing afirst segment of the MPDU to the first radio pathway and providing asecond segment of the MPDU to the second radio pathway. Operatingmultiple radio pathways can include generating, in the first radiopathway, a first physical layer frame based on a MAC address associatedwith the wireless communication device and the first segment. Operatingmultiple radio pathways can include generating, in the second radiopathway, a second physical layer frame based on the MAC address and thesecond segment.

Implementations can include generating, in a MAC layer, a MAC servicedata unit (MSDU) for the wireless communication device. Multiplexing theinformation can include providing a first segment of the MSDU to thefirst radio pathway, and providing a second segment of the MSDU to thesecond radio pathway. Operating the multiple radio pathways can includegenerating, in the first radio pathway, a first MAC protocol data unit(MPDU) based on the first segment and a first MAC address associatedwith the wireless communication device. Operating the multiple radiopathways can include generating, in the second radio pathway, a secondMPDU based on the second segment and a second MAC address associatedwith the wireless communication device.

Implementations can include generating orthogonal frequency divisionmultiplexing (OFDM) subcarriers based on a physical layer frame for thewireless communication device. A physical layer frame can be generatedbased on an aggregated bandwidth of at least two wireless channelsassociated with the wireless communication device. Multiplexing theinformation can include providing a first group of the OFDM subcarriersto the first radio pathway and providing a second group of the OFDMsubcarriers to the second radio pathway. Operating the multiple radiopathways can include generating, in the first radio pathway, a firsttransmission signal based on an inverse Fourier transformation of thefirst group. Operating the multiple radio pathways can includegenerating, in the second radio pathway, a second transmission signalbased on an inverse Fourier transformation of the second group.Transmitting the packet to the single wireless communication device caninclude transmitting the first transmission signal in a first frequencyband. Transmitting the packet to the single wireless communicationdevice can include transmitting the second transmission signal in asecond frequency band. Implementations can include generating signalinginformation that indicates that a data packet is a dual-radio datapacket. Such signaling information can cause a wireless communicationdevice to combine information resolved from concurrent transmissions.

In another aspect, a described apparatus includes processor electronicsconfigured to generate a data stream intended for transmission to asingle wireless communication device within a data packet, the datapacket comprising two or more groups of OFDM subcarriers that arerespectively assigned to two or more frequency bands; a first radio unitconfigured to produce a first portion of the data packet based, atleast, on the data stream and a first group of the two or more groups ofOFDM subcarriers; a second radio unit configured to produce a secondportion of the data packet based, at least, on the data stream and asecond group of the two or more groups of OFDM subcarriers; and a parserconfigured to multiplex the data stream onto to radio units includingthe first radio unit and the second radio unit.

In another aspect, a described system includes circuitry configured toaccess a data stream intended for transmission to a single wirelesscommunication device; two or more radio pathways that are configured tocollectively produce a data packet based, at least, on the data stream,wherein the data packet comprises two or more groups of OFDM subcarriersthat are respectively assigned to two or more frequency bands, andwherein the two or more radio pathways are configured to use the two ormore groups of OFDM subcarriers to generate two or more differentportions of the data packet, respectively; a parser configured tomultiplex the data stream onto to the two or more radio pathways; andcircuitry configured to transmit, via the two or more frequency bands,the data packet to the single wireless communication device byconcurrent transmissions of the two or more different portions.

These and other implementations can include one or more of the followingfeatures. In some implementations, the parser is configured to multiplexbits of the data stream onto the two or more radio pathways, and the twoor more radio pathways each include a constellation mapper configured togenerate constellation symbols based on respective portions of the bitsof the data stream. In some implementations, the parser is configured tomultiplex the bits of the data stream by alternating among the two ormore radio pathways to distribute the bits such that each radio pathwayobtains a different interleaved portion of the bits. In someimplementations, the parser is configured to provide a first group ofcontiguous bits of the data stream to a first radio pathway of the twoor more radio pathways; and provide a second group of contiguous bits ofthe data stream to a second radio pathway of the two or more radiopathways.

Implementations can include a constellation mapper configured to producea constellation mapped version of the data stream based, at least, onthe data stream, wherein the parser is configured to multiplex theconstellation mapped version of the data stream onto the two or moreradio pathways. In some implementations, the parser is configured toalternate among the two or more radio pathways to distributeconstellation symbols of the constellation mapped version of the datastream such that each radio pathway obtains a different interleavedportion of the constellation mapped version of the data stream. In someimplementations, the parser is configured to alternate among the two ormore radio pathways to provide a first group of contiguous constellationsymbols of the constellation mapped version of the data stream to afirst radio pathway of the two or more radio pathways, and provide asecond group of contiguous constellation symbols of the constellationmapped version of the data stream to a second radio pathway of the twoor more radio pathways. In some implementations, the first radio pathwayincludes circuitry configured to perform a first inverse Fouriertransformation based, at least, on the first group of contiguousconstellation symbols. In some implementations, the second radio pathwayincludes circuitry configured to perform a second inverse Fouriertransformation based, at least, on the second group of contiguousconstellation symbols, where the second inverse Fourier transformationis separate from the first inverse Fourier transformation.

Implementations can include circuitry configured to interleave andencode the data stream based on a binary convolutional code to produce aconvolutional version of the data stream, where the parser is configuredto multiplex the convolutional version of the data stream onto the twoor more radio pathways, and where the different portions of the datapacket are jointly protected by the binary convolutional code.Implementations can include a constellation mapper configured to producea constellation mapped version of the data stream based, at least, onthe data stream; and a spatial mapper configured to perform spatialmapping based, at least, on the constellation mapped version of the datastream to produce a spatial version of the data stream, where the parseris configured to multiplex the spatial version of the data stream ontothe two or more radio pathways.

In another aspect, a described technique includes accessing a datastream intended for transmission to a single wireless communicationdevice, multiplexing the data stream onto two or more radio pathways toproduce a data packet, operating the two or more radio pathways torespectively use two or more groups of OFDM subcarriers to generate twoor more different portions of the data packet, the two or more groups ofOFDM subcarriers being respectively assigned to two or more frequencybands, and transmitting the data packet to the single wirelesscommunication device by concurrent transmissions of the two or moredifferent portions via the two or more frequency bands.

These and other implementations can include one or more of the followingfeatures. Multiplexing the data stream can include multiplexing a streamof bits onto the two or more radio pathways. In some implementations,the radio pathways are configured to perform constellation mapping basedon respective portions of the stream of bits. Multiplexing the stream ofbits onto the two or more radio pathways can include alternating amongthe two or more radio pathways to distribute the stream of bits suchthat each radio pathway obtains a different interleaved portion of thestream of bits. Multiplexing the stream of bits onto the two or moreradio pathways can include providing a first group of contiguous bits ofthe stream of bits to a first radio pathway of the two or more radiopathways, and providing a second group of contiguous bits of the streamof bits to a second radio pathway of the two or more radio pathways.

Implementations can include performing constellation mapping based, atleast, on the data stream to produce a constellation mapped version ofthe data stream. Multiplexing the data stream can include multiplexingthe constellation mapped version of the data stream onto the two or moreradio pathways. Multiplexing the constellation mapped version of thedata stream onto the two or more radio pathways can include alternatingamong the two or more radio pathways to distribute constellation symbolsof the constellation mapped version of the data stream such that eachradio pathway obtains a different interleaved portion of theconstellation mapped version of the data stream. Multiplexing theconstellation mapped version of the data stream onto the two or moreradio pathways can include providing a first group of contiguousconstellation symbols of the constellation mapped version of the datastream to a first radio pathway of the two or more radio pathways, andproviding a second group of contiguous constellation symbols of theconstellation mapped version of the data stream to a second radiopathway of the two or more radio pathways. Implementations can includeperforming constellation mapping based, at least, on the data stream toproduce a constellation mapped version of the data stream, andperforming spatial mapping based, at least, on the constellation mappedversion of the data stream to produce a spatial version of the datastream. Multiplexing the data stream can include multiplexing thespatial version of the data stream onto the two or more radio pathways.Implementations can include interleaving and encoding the data streambased on a binary convolutional code to produce a convolutional versionof the data stream. Multiplexing the data stream can includemultiplexing the convolutional version of the data stream onto the twoor more radio pathways, and wherein the different portions of the datapacket are jointly protected by the binary convolutional code.

Details of one or more implementations are set forth in the accompanyingdrawings and the description below. Other features and advantages may beapparent from the description and drawings, and from the claims.

DRAWING DESCRIPTIONS

FIG. 1A shows an example of a wireless local area network with twowireless communication devices.

FIG. 1B shows an example of a dual-radio wireless communication devicearchitecture.

FIG. 2 shows an example of a functional block diagram of a transmit pathof wireless communication device.

FIG. 3 shows an example of an architecture that combines multipletransmission signals for transmission on multiple antennas.

FIG. 4A shows an example of a multi-radio data packet process.

FIG. 4B shows an example of a frequency division transmitting process.

FIG. 4C shows an example of a space division transmitting process.

FIG. 5 shows an example of a data multiplexing architecture.

FIG. 6 shows an example of a dual medium access controller datamultiplexing architecture.

FIG. 7 shows an example of a physical layer data multiplexingarchitecture.

FIG. 8 shows an example of a space division data multiplexingarchitecture.

FIG. 9 shows an example of a dual medium access controller spacedivision data multiplexing architecture.

FIG. 10 shows an example of a dual-radio packet format.

FIG. 11 shows another example of a dual-radio packet format.

FIG. 12 shows an example a dual-radio wireless communication device.

FIG. 13A shows an example of a multi-radio architecture.

FIG. 13B shows another example of a multi-radio architecture.

FIG. 14 shows another example of a multi-radio architecture.

FIG. 15 shows yet another example of a multi-radio architecture.

FIG. 16A shows an example of an element distribution associated with ablock-wise multiplexing technique.

FIG. 16B shows an example of an element distribution associated with around-robin multiplexing technique.

FIG. 17 shows a flowchart of an example of a process associated with amulti-radio device.

FIG. 18 shows a flowchart of another example of a process associatedwith a multi-radio device.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

FIG. 1A shows an example of a wireless local area network with twowireless communication devices. Wireless communication devices 105, 107such as an access point (AP), base station (BS), access terminal (AT),client station, or mobile station (MS) can include processor electronics110, 112 such as one or more processors that implement methods effectingthe techniques presented in this disclosure. Wireless communicationdevices 105, 107 include transceiver electronics 115, 117 to send and/orreceive wireless signals over one or more antennas 120 a, 120 b, 122 a,122 b. In some implementations, transceiver electronics 115, 117 includemultiple radio units. In some implementations, a radio unit includes abaseband unit (BBU) and a radio frequency unit (RFU) to transmit andreceive signals. Wireless communication devices 105, 107 include one ormore memories 125, 127 configured to store information such as dataand/or instructions. In some implementations, wireless communicationdevices 105, 107 include dedicated circuitry for transmitting anddedicated circuitry for receiving.

A first wireless communication device 105 can transmit data overmultiple wireless channels to a second wireless communication device107. In some implementations, the first wireless communication device105 implements a frequency division technique to transmit data to thesecond wireless communication device 107 using two or more wirelesschannels operated at different frequency bands. In some implementations,the first wireless communication device 105 implements a space divisiontechnique to transmit data to the second wireless communication device107 using two or more multiplexing matrices to provide spatial separatedwireless channels in a single frequency band. Note that a frequency bandcan be referred to as a frequency segment.

Wireless communication devices 105, 107 in a WLAN can use one or moreprotocols for medium access control (MAC) and Physical (PHY) layers. Forexample, a wireless communication device can use a Carrier SenseMultiple Access (CSMA) with Collision Avoidance (CA) based protocol fora MAC layer and OFDM for the PHY layer. A MIMO-based wirelesscommunication device can transmit and receive multiple spatial streamsover multiple antennas in each of the tones of an OFDM signal.

The wireless communication devices 105, 107 are sometimes referred to astransmitters and receivers for convenience. For example, a “transmitter”as used herein refers to a wireless communication device that receivesand transmits signals. Likewise, a “receiver” as used herein refers to awireless communication device that receives and transmits signals.

A MIMO enabled AP can transmit signals for multiple client wirelesscommunication devices at the same time in the same frequency band byapplying one or more transmitter side beam forming matrices to spatiallyseparate signals associated with different client wireless communicationdevices. Based on different interference patterns at the differentantennas of the wireless communication devices, each client wirelesscommunication device can discern its own signal. A MIMO enabled AP canparticipate in sounding to obtain channel state information for each ofthe client wireless communication devices. The AP can compute a spatialsteering matrix based on the channel state information to spatiallyseparate signals to different client wireless communication devices.

This disclosure provides details and examples of multi-radio data packettechniques and systems. A multi-radio data packet can include multiplephysical layer frames for a single wireless communication device.Multi-radio data packet techniques and systems can increase single-userthroughput in a WLAN. For example, a wireless communication device caninclude two radio units to double the communication bandwidth.

FIG. 1B shows an example of a dual-radio wireless communication devicearchitecture. A dual-radio wireless communication device 150 includes aMAC module 155. The MAC module 155 can include one or more MAC controlunits (MCUs) (not shown). The dual-radio wireless communication device150 includes two or more BBUs 160 a, 160 b that are respectively coupledwith two or more RFUs 165 a, 165 b. In some implementations, adual-radio wireless communication device 150 can include a first RFU 165a and a first BBU 160 a in a first radio pathway and a second RFU 165 band a second BBU 160 b in a second radio pathway. In a transmittingprocess, the MAC module 155 can multiplex data between the first andsecond radio pathways. In a receiving process, the MAC module 155 cande-multiplex data from the first and second radio pathways.

The RFUs 165 a, 165 b are communicatively coupled with an antenna module170. An antenna module 170 can include multiple transmit and receiveantennas. In some implementations, the antenna module 170 is adetachable unit that is external to the wireless communication device150. In some implementations, the RFUs 165 a, 165 b are communicativelycoupled with separate antenna modules situated in different spatiallocations.

The dual-radio wireless communication device 150 can operate using oneor more communication modes such as a frequency division (FD) mode or aspace division (SD) mode. In a frequency division mode, the BBUs 160 a,160 b and RFUs 165 a, 165 b can operate in parallel at two differentfrequency bands such as frequency bands employed by IEEE 802.11n or IEEE802.11a based communication systems. Such frequency bands can be eithercontiguous with each other or non-contiguous. In a space division mode,the BBUs 160 a, 160 b and RFUs 165 a, 165 b can operate in a singlefrequency band at two orthogonal spatial subspaces, e.g., two orthogonalSpace Division Multiple Access (SDMA) subspaces.

In some implementations, the dual-radio wireless communication device150 includes one or more integrated circuits (ICs). In someimplementations, the MAC module 155 includes one or more ICs. In someimplementations, the dual-radio wireless communication device 150includes an IC that implements the functionality of multiple unitsand/or modules such as a MAC module, MCU, BBU, or RFU. In someimplementations, the dual-radio wireless communication device 150includes a host processor that provides a data stream to the MAC module155 for transmission. In some implementations, the dual-radio wirelesscommunication device 150 includes a host processor that receives a datastream from the MAC module 155. In some implementations, the hostprocessor includes the MAC module 155.

FIG. 2 shows an example of a functional block diagram of a transmit pathof wireless communication device. In this example, a transmit path isconfigured for MIMO communications. A wireless communication device caninclude one or more transmit paths. A transmit path can include anencoding module 205 configured to receive a data steam, such as an audiodata stream, a video data stream, or combination thereof. The encodingmodule 205 outputs encoded bit streams to a spatial parsing module 210,which performs spatial mapping to produce multiple outputs.

Outputs of the spatial parsing module 210 are input into constellationmapping modules 215, respectively. In some implementations, aconstellation mapping module 215 includes a serial-to-parallel converterthat converts an incoming serial stream to multiple parallel streams.The constellation mapping module 215 can perform quadrature amplitudemodulation (QAM) on multiple streams produced by a serial-to-parallelconversion. The constellation mapping module 215 can output OFDM tonesthat are input to a spatial multiplexing matrix module 220. The spatialmultiplexing matrix module 220 can multiply the OFDM tones by a spatialmultiplexing matrix to produce signal data for multiple transmitantennas.

Outputs of the spatial multiplexing matrix module 220 are input toInverse Fast Fourier Transform (IFFT) modules 225. Outputs of the IFFTmodules 225 are input to cyclic prefix (CP) modules 230. Outputs of theCP modules 230 are input to digital-to-analog converters (DACs) 235,which produce analog signals for transmission on multiple transmitantennas, respectively.

FIG. 3 shows an example of an architecture that combines multipletransmission signals for transmission on multiple antennas. Atransmitter can include two or more transmit paths 301, 302, 303 thatare each configured for MIMO communications. A first transmit path 301generates multiple transmit signals 310 a, 310 b, 310 n for transmissionon multiple transmit antennas 320 a, 320 b, 320 n, respectively. Asecond transmit path 302 generates multiple transmit signals 311 a, 311b, 311 n for transmission on multiple transmit antennas 320 a, 320 b,320 n, respectively. A third transmit path 303 generates multipletransmit signals 312 a, 312 b, 312 n, for transmission on multipletransmit antennas 320 a, 320 b, 320 n, respectively.

A transmitter can include multiple summing modules 315 a, 315 b, 315 nthat are associated with multiple transmit antennas 320 a, 320 b, 320 n,respectively. In some implementations, summing modules 315 a, 315 b, 315n sum corresponding outputs of DACs in each of the transmit paths 301,302, 303 to produce combined transmit signals for each of antennas 320a, 320 b, 320 n.

FIG. 4A shows an example of a multi-radio data packet process. At 405, amulti-radio data packet process can include multiplexing information fora single wireless communication device onto multiple radio pathways toproduce a data packet such as a multi-radio data packet. For example,information such as a data stream, physical layer frame, or a data unitis multiplexed on to first and second radio pathways. At 410, themulti-radio data packet process can include operating the multiple radiopathways to generate different portions of the data packet.

At 415, the multi-radio data packet process can include transmitting thedata packet to the single wireless communication device by concurrenttransmissions of the different portions of the data packet overdifferent wireless channels. In some implementations, the data packetsuch as a dual-radio data packet can include two physical layer frames.In some implementations, an access point can operate two radio units tostart a concurrent transmission of two different portions of the datapacket. For example, a first radio unit of a AP transmits a firstphysical layer frame of the data packet to the wireless communicationdevice at or about the same time a second radio unit of the AP transmitsa second physical layer frame of the data packet to the wirelesscommunication device. The wireless communication device can operatemultiple radio pathways and a de-multiplexer to recover the informationmultiplexed at 405.

FIG. 4B shows an example of a frequency division transmitting process.Wireless channels can correspond to different frequency bands. Thus,transmitting a data packet to a single wireless communication device caninclude operating two or more radio units at different frequency bandsto concurrently transmit signals. At 420, a frequency divisiontransmitting process includes transmitting, in a first frequency band, afirst signal based on a first portion of a data packet. At 425, thetransmitting process includes transmitting, in a second frequency band,a second signal based on a second portion of the data packet.

A frequency division based receiver, which includes two radio units intwo radio pathways, can receive the first signal via a first radio unitand the second signal via a second radio unit. For example, the receivercan operate the radio pathways and a de-multiplexer to recoverinformation multiplexed at 405.

FIG. 4C shows an example of a space division transmitting process.Wireless channels can correspond to different spatial channels. Thus,transmitting a data packet to a single wireless communication device caninclude using two or more spatial wireless channels. At 440, a spacedivision transmitting process includes generating first transmit signalsbased on a first multiplexing matrix and a first portion of a datapacket. At 445, the transmitting process includes generating secondtransmit signals based on a second multiplexing matrix and a secondportion of the data packet. The first and second multiplexing matricescan be associated with first and second radio units of the wirelesscommunication device. At 450, the space division transmitting processincludes combining the first transmit signals and second transmitsignals to produce combined transmit signals. At 455, the transmittingprocess includes transmitting the combined transmit signals on multipletransmit antennas, respectively.

A space division based receiver, which includes two radio units in tworadio pathways, can receive the first signal via a first radio unit andthe second signal via a second radio unit. The first and second radiounits in the receiver can be associated with spatially separated antennaarrays. The receiver can operate the radio pathways and a de-multiplexerto recover the information multiplexed at 405.

FIG. 5 shows an example of a data multiplexing architecture. A wirelesscommunication device can use one or more data multiplexing techniques tosplit data across multiple radio pathways. In this example, a wirelesscommunication device includes a single MCU 510 that is configured togenerate data units based on information generated by an upper MACmodule 505. In some implementations, a MAC module includes the upper MACmodule 505. The upper MAC module 505 can generate a MAC Service DataUnit (MSDU) based on data received from higher level protocols suchTransmission Control Protocol over Internet Protocol (TCP/IP). A MCU 510can generate a MAC Protocol Data Unit (MPDU) based on a MSDU. In someimplementations, a MCU 510 can output a Physical Layer Service Data Unit(PSDU) based on a MPDU. For example, a wireless communication device cangenerate a data unit, e.g., a MPDU or a PSDU, that is intended for asingle wireless communication device recipient.

The wireless communication device can multiplex a single data unit ontwo or more radio units for transmission. In some implementations, thewireless communication device can use a multiplexer such as a parser ina parser/deparser module 515 to multiplex information such as a dataunit. In some implementations, a wireless communication device canprovide a first segment of a MPDU to a first radio pathway and a secondsegment of the MPDU to a second radio pathway. For example, the wirelesscommunication device can use a radio parser/deparser module 515 to parsea data unit on to two or more radio units 520 a, 520 b e.g., RFU1/BBU1and RFU2/BBU2, in two or more radio pathways for transmission. Forreceiving, the wireless communication device can use a radioparser/deparser module 515 to de-parse a dual-radio data packet.

A wireless communication device can use one or more parsing techniques.For example, a wireless communication device can parse a data unitequally between two radio units 520 a, 520 b. In another example, awireless communication device can parse a data unit unequally, e.g., oneradio unit may have more bandwidth than another radio unit. In yetanother example, a radio unit experiencing greater interference can beused to transmit least-significant bit portions of a data unit.

A wireless communication device can generate, in different radiopathways, different physical layer frames based on different segments ofa data unit. For example, a multi-radio data packet such as a dual-radiodata packet can include a single MPDU split into two or more PhysicalLayer Protocol Data Units (PPDUs), which can be transmitted via two ormore radio units. In some implementations, a dual-radio packet caninclude a single MAC address in a MAC header portion. In someimplementations, only one of the PPDUs in a dual-radio data packet isrequired to include a MAC header. At a receiver, PPDUs in the dual-radiodata packet are received and de-parsed to form a single MPDU, which canbe provided to a single MCU for upstream processing.

FIG. 6 shows an example of a dual medium access controller datamultiplexing architecture. A wireless communication device can includetwo or more MCUs 615 a, 615 b to generate a multi-radio packet thatincludes two or more MPDUs. A wireless communication device can includean upper MAC module 605 to generate a MSDU. The wireless communicationdevice can multiplex a data unit such as a MSDU on two or more radiopathways. For example, the wireless communication device can providedifferent segments of the MSDU to different radio pathways,respectively.

In some implementations, a MSDU parser/deparser module 610 can parse aMSDU on to two or more radio pathways. A radio pathway can include a MCU615 a, 615 b and a radio unit 620 a, 620 b. Each radio pathway cangenerate a MPDU based on a portion of the MSDU. In this example, theMCUs 615 a, 615 b in the radio pathways generate different MPDUs basedon their respective portions of the MSDU. The radio units 620 a, 620 bin the radio pathways transmit the dual-radio packet via concurrentlytransmitting their respective MPDUs.

In some implementations, a dual-radio packet includes two MPDUsencapsulated in two PPDUs, which can be transmitted via two radio units.Such a dual-radio packet includes two MAC headers in the respective twoPPDUs. In some implementations, the same MAC address is used for bothMAC headers. In some implementations, different MAC addresses are usedin the MAC headers. At a receiver, the two PPDUs and corresponding MPDUscan be received separately and then de-parsed to form a MSDU.

FIG. 7 shows an example of a physical layer data multiplexingarchitecture. A wireless communication device can perform datamultiplexing at a physical layer. In some implementations, a wirelesscommunication device can generate a physical layer frame based on anaggregated bandwidth of two or more wireless channels associated withthe wireless communication device. For example, a wireless communicationdevice can generate OFDM subcarriers based on a physical layer datapacket addressed to a single wireless communication device using anaggregated capacity of two or more radio units of the single wirelesscommunication device. A wireless communication device can multiplex OFDMsubcarriers on to two or more radio pathways. For example, a wirelesscommunication device can provide a group of the OFDM subcarriers to afirst radio pathway, and provide the remaining OFDM subcarriers in adifferent group to a second radio pathway.

A wireless communication device can include an upper MAC module 705 togenerate a MSDU based on an aggregated capacity of two or more wirelesschannels. The wireless communication device can generate a data unit,e.g., a MPDU or a PSDU, that is intended for a single receiver. A MCU710 can generate a MPDU based on a MSDU. In some implementations, a MCU710 can output PSDU based on a MPDU.

A PHY frequency domain processing module 715 is coupled with the MCU710. For transmitting, the PHY frequency domain processing module 715can perform operations such as scrambling, encoding, spatial parsing,interleaving, modulation, and spatial multiplexing. For receiving, thePHY frequency domain processing module 715 can perform operations suchas descrambling, decoding, spatial de-parsing, de-interleaving, anddemodulation.

The PHY frequency domain processing module 715 can generate an outputhaving a bandwidth proportional to the number of wireless channelsoperated by the receiver. For example, the wireless communication devicecan include two or more radio units 725 a, 725 b configured to handle 40MHz signals. In this case, the PHY frequency domain processing module715 can generate an output having a bandwidth of 80 MHz. The PHYfrequency domain processing module 715 can generate OFDM symbols basedon a bandwidth of 80 MHz.

The wireless communication device can multiplex the OFDM subcarriers into two or more radio pathways. A parsing/de-parsing module 720 can parsethe OFDM subcarriers in to two or more groups of OFDM subcarriers, whichare then provided to two or more radio pathways, respectively. Eachradio pathway performs an IFFT on a respective group of OFDM subcarriersvia an IFFT module in a respective radio unit 725 a, 725 b. The two ormore IFFT output signals, e.g., time domain signals, are transmittedwith via respective RFUs in the radio units 725 a, 725 b. PHY preamblescan be generated for the two or more radio units separately—no parsingis required for PHY preambles.

In some implementations, a radio device can transmit and receive on twoor more wireless channels that are on two different portions of an 80MHz band. For example, two 20 MHz non-adjacent band signals can betransmitted by a single 80 MHz BBU/RFU by inserting zero-tones in thefrequency domain for the frequency bands that are not allocated for thetwo 20 MHz signals. In some implementations, two 20 MHz zero-tonessignals are inserted between the two 20 MHz non-adjacent band signals. Aradio device can select one or more zero-tone regions in an 80 MHz bandto avoid interference with other signals such as 5 GHz Dynamic FrequencySelection (DFS) channels or radar pulses. A receiver can use a single 80MHz RFU/BBU to retrieve the two transmitted 20 MHz non-adjacent bandsignals. In some implementations, a radio device can transmit andreceive over two different portions of a 160 MHz band, e.g. 40 MHz/40MHz, 40 MHz/80 MHz, or 80 MHz/80 MHz. When applied in a wirelesscommunication system such as Wi-Fi, the two frequency bands in adual-radio device can be contiguous or non-contiguous with each otherwith an overall bandwidth of 40 MHz, 80 MHz, 120 MHz, or 160 MHz, withinthe whole allowable bands. For example, possible combinations include20/20, 20/40, 40/40, 40/80, and 80/80.

A wireless communication device can use two or more wireless channelsprovided by a SDMA technique to transmit data to another wirelesscommunication device. For example, a dual-radio device can operate tworadio units in the same frequency band, but separate the signalstransmitted via the two radio units by SDMA. A transmitter can soundwireless channels for a SDMA-based dual-radio receiver. The transmittercan spatially steer signals for different radio units of a dual-radioreceiver. In some implementations, instead of operating two SDMAchannels for two different user devices, the two SDMA channels can beoperated to transmit data to one user device.

A multi-radio data packet can include packet content transmitted via twoor more SDMA-based wireless channels. At a receiver, content from two ormore SDMA-based wireless channels can be combined to form a single datastream. For example, a dual-radio receiver can receive two PPDUs,included in a dual-radio packet, that are received by separate radiounits in the receiver. The receiver can combine the content derived fromthe PPDUs to generate a larger data unit.

FIG. 8 shows an example of a space division data multiplexingarchitecture. In this example, a wireless communication device includesa single MCU 810 that is configured to generate data units based oninformation generated by an upper MAC module 805. The upper MAC module805 can generate a MSDU based on data received from one or more higherlevel protocols. A MCU 810 can generate a MPDU based on a MSDU. In someimplementations, a MCU 810 can output a PSDU based on a MPDU. Forexample, a wireless communication device can generate a data unit, e.g.,a MPDU or a PSDU, that is intended for a single wireless communicationdevice recipient. The wireless communication device can multiplex asingle data unit on two or more spatial wireless channels fortransmission. In some implementations, a wireless communication devicecan use a radio parser module 815 to parse a data unit for two or morewireless channels onto two or more radio pathways that are associatedwith different SDMA channels.

The wireless communication device can include a radio unit that includesa SDMA BBU 820 and a RFU 825. The SDMA BBU 820 can receive data formultiple spatial wireless channels from the parser module 815. The SDMABBU 820 can generate transmission signals. A RFU 825, in communicationwith the SDMA BBU 820, can transmit the transmission signals to areceiver. The receiver can include two or more radio units coupled withtwo or more antenna arrays. The receiver can use a first antenna arrayto receive data on a first wireless channel and can use a second antennaarray to receive data on a second wireless channel.

The SDMA BBU 820 can use a transmission signal model to generate SDMAtransmission signals based on two or more multiplexing matrixes. Thewireless communication device can construct a multiplexing matrix W fora radio unit of a receiver based on interference avoidance and/orsignal-to-interference and noise ratio (SINR) balancing. Interferenceavoidance attempts to minimize the amount of non-desired signal energyarriving at a receiver. Interference avoidance can ensure that signalsintended for a particular radio unit of a receiver arrive only at thatparticular radio unit and cancel out at a different radio unit of thereceiver. Here, the receiver has antenna arrays for the radio units inseparate physical locations to achieve SDMA.

A wireless communication device can perform SINR balancing. SINRbalancing can include determining multiplexing matrices to activelycontrol the SINRs observed at the radio units of a wirelesscommunication device. For example, one SINR balancing approach caninclude maximizing the minimum SINR across serviced radio units.

In some implementations, a SDMA BBU 820 uses an OFDM transmission signalmodel based on

$s = {\sum\limits_{i = 1}^{N}{W_{i}x_{i}}}$

where s is a transmitted signal vector for one tone, N is a number ofsimultaneously serviced radio units, x_(i) is an information vector(T_(i)×1, T_(i)<P_(i)) intended for the i-th radio unit of the receiver,W_(i) is a multiplexing matrix (M×T_(i)) for the i-th radio unit, M is anumber of transmit antennas of the transmitter, and P_(i) is the numberof receive antennas associated with the i-th radio unit.

A transmitter can determine the multiplexing matrix W for each of thereceiver's radio units based on channel conditions between thetransmitter and the radio units. The transmitter and the receiver canperform sounding for each of the receiver's radio units. Variousexamples of sounding techniques include explicit sounding and implicitsounding. In some cases, each radio unit of the receiver can be treatedas a separate client.

In some implementations, a transmitter can determine multiple channelconditions matrices H_(k) ^(i), where H_(k) ^(i) represents the channelconditions for the k-th tone of the i-th radio unit. The first tonereceived by the first radio unit can be expressed as H₁ ¹[W₁ ¹s₁+W₁ ²s₂+. . . +W₁ ^(N)s_(S)]. The multiplexing matrix W can be selected to causethe first radio unit to receive H₁ ¹W₁ ¹s₁ and to have the remainingsignals s₂, s₃, . . . , s_(S) be in a null space for the first radiounit. Therefore, when using a signal interference approach, the valuesof the multiplexing matrix W are selected such that H₁ ¹W₁ ²≈0, . . . ,H₁ ¹W₁ ^(N)≈0. In other words, the multiplexing matrix W can adjustphases and amplitudes for these OFDM tones such that a null is createdat the first radio unit. That way, the first radio unit can receive theintended signal s₁ without interference from other signals s₂, s₃, . . ., s_(S) intended for the other radio units.

FIG. 9 shows an example of a dual medium access controller spacedivision data multiplexing architecture. A wireless communication devicecan include two or more MCUs 915 a, 915 b to generate a dual-radiopacket that includes two or more MPDUs. For example, a wirelesscommunication device can generate and transmit a dual-radio packet thatincludes a first MPDU transmitted on a first wireless channel and asecond MPDU transmitted on a second wireless channel.

A wireless communication device can include an Upper MAC module 905 togenerate a MSDU. The wireless communication device can multiplex a dataunit such as a MSDU on two or more radio pathways. For example, a parsermodule 910 can parse a MSDU on to two or more radio pathways. Each radiopathway can generate different MPDUs based on different respectiveportions of the MSDU. In some implementations, a radio pathway caninclude a MCU 915 a, 915 b to generate a MPDU based on a portion of theMSDU. The wireless communication device can include a radio unit thatincludes a SDMA BBU 920 and a RFU 925. In some implementations, a SDMABBU 920 can receive data for multiple spatial wireless channels fromdifferent MCUs 915 a, 915 b to generate transmission signals for the RFU925.

A wireless communication device can support both single-radio anddual-radio communications. For example, a dual-radio wirelesscommunication device based on IEEE 802.11n can support legacy modecommunications with a single-radio wireless communication device. Forexample, a transmitter can transmit signaling information that causeslegacy devices to ignore processing a multi-radio data packet and toprevent a legacy device from transmitting during a transmission of amulti-radio data packet.

A wireless communication device can generate and transmit signalinginformation that indicates that a data packet is a dual-radio datapacket. Such signaling information can cause a receiver to combineinformation resolved from the concurrent transmissions associated with adual-radio data packet. In some implementations, a dual-radio packet caninclude two or more PHY frames based on IEEE 802.11n. A wirelesscommunication device can transmit these two or more PHY frames over twoor more wireless channels to a receiver. In some implementations, thePHY frame durations are not required to be identical. In someimplementations, a receiver sets a Clear Channel Assessment (CCA)duration based on the longer PHY frame duration in a dual-radio packet.

FIG. 10 shows an example of a dual-radio packet format. A wirelesscommunication device can generate a dual-radio packet 1001 based on anIEEE 802.11n Mixed-Mode. A dual-radio packet 1001 can include first andsecond PHY frames 1005, 1010. A first segment 1015 of the PHY framesincludes Legacy Short Training Field (L-STF), Legacy Long Training Field(L-LTF), and Legacy Signal Field (L-SIG). A second segment 1020 of thePHY frames can include multiple High Throughput (HT) fields such as a HTSignal Field (HT-SIG), HT Short Training Field (HT-STF), HT LongTraining Field (HT-LTF), and HT Data Field (HT-Data). In someimplementations, a wireless communication device transmits the PHYframes 1005, 1010 using different radio units that are operated atdifferent frequency bands. In some implementations, a wirelesscommunication device transmits the PHY frames 1005, 1010 using differentSDMA channels.

In some implementations, a wireless communication device can set a bitin a HT-SIG field to indicate a presence of a dual-radio packet to areceiver. In some implementations, a wireless communication device canset an IEEE 802.11n reserved bit in an L-SIG field of the PHY frames1005, 1010 to 1 to indicate a presence of a dual-radio packet to areceiver. In some implementations, the wireless communication device caninclude length and rate data in the L-SIG field of the PHY frames 1005,1010. The length and rate data can be based on the second segment 1020of the dual-radio packet 1001. In some implementations, a receiver of adual-band packet can set a CCA duration based on a computation usinglength and rate subfields in an L-SIG field of a PHY frame.

FIG. 11 shows another example of a dual-radio packet format. A wirelesscommunication device can generate a dual-radio packet 1101 based on anIEEE 802.11n Greenfield Mode. A dual-radio packet 1101 can include firstand second PHY frames 1105, 1110. The PHY frames 1105, 1110 can includeHT-STF, HT-LTF, HT-SIG, HT-Data fields. In some implementations, awireless communication device can set a bit in a HT-SIG field toindicate a presence of a dual-radio packet to a receiver. A wirelesscommunication device can include padding, if required, to generate equalduration PHY frames 1105, 1110. For example, a device can includezero-byte padding after the end of a HT-Data field to generate a PHYframe that is equal in length to another PHY frame, of a dual-radiopacket, that includes a longer HT-Data field.

These dual radio techniques can be compatible with various packetformats defined for various corresponding wireless systems such as IEEE802.11ac or IEEE 802.11af. Various wireless systems can be adapted withthe techniques described herein to include signaling of a dual frequencyband or a dual SDMA subspace embedded in a packet's preamble, e.g.,embedded in one or more SIG fields of a packet's preamble.

In some implementations, a wireless communication device transmits thePHY frames 1105, 1110 using different radio units that are operated atdifferent frequency bands. In some implementations, a wirelesscommunication device transmits the PHY frames 1105, 1110 using differentSDMA channels.

In some implementations, dual-radio devices are operated to becompatible with legacy devices such as legacy IEEE 802.11n based devicesor legacy IEEE 802.11a based devices. In some implementations, adual-radio packet format is compatible with such legacy devices. Forexample, a legacy device can detect and/or disregard a dual-radio packettransmitted in the legacy device's operating frequency band. In someimplementations, dual-radio devices can create a protected time period(TxOP) during which dual-radio packet transmissions are conducted by twodual-radio packet compatible devices. Such dual-radio devices can use aMAC mechanism to reserve time for transmission of dual-radio packets.

One or more acknowledgement (ACK) packets can be transmitted by areceiving wireless communication device during a TxOP. In some cases, anegative ACK (NAK) can be transmitted to indicate a failure. If an ACKis required for a dual-radio packet, the receiving device can send theACK after a short inter-frame space (SIFS) after the end of a dual-radiopacket. Based on receiving a dual-radio packet, a wireless communicationdevice can operate two radios to send two ACKs in the form of adual-radio acknowledgement packet. In some implementations, a wirelesscommunication device separately determines acknowledgements for thedifferent PHY frames of a dual-radio packet. Therefore, it is possiblethat one radio unit sends an ACK, and the other radio unit sends a NAK.In some implementations, a wireless communication device operates asingle radio unit to send one ACK for PHY frames received via tworadios. In some implementations, a wireless communication deviceaggregates acknowledgement information and transmits a block ACK basedon a pre-determined number of dual-radio packets.

Based on receiving a SDMA dual-radio packet, a dual-radio receiver cansend one or more acknowledgements. In some implementations, ifsuccessfully received, a dual-radio receiver can operate one radio unitto send an ACK for multiple PHY frames of a SDMA dual-radio packet. Insome implementations, if successfully received, a dual-radio receivercan operate a first radio unit to send an ACK for a first received PHYframe in a first time slot for acknowledgment after the dual-radiopacket and operate a second radio unit to send an ACK for a secondreceived PHY frame in a second time slot.

In some implementations, a wireless communication device can indicate anordering of content within the PHY frames of a dual-radio packet basedon setting only one of two PHY frames to indicate a dual-radio packet.For example, the PHY frame that does not indicate a dual-radio packetcan be associated with a first portion of a MPDU and the PHY frame thatdoes indicate a dual-radio packet can be associated with a second,different portion of a MPDU.

A wireless communication device can use OFDM symbols in a HT-SIG fieldto signal dual-radio packet information. In some implementations, awireless communication device can use a third HT-SIG OFDM symbol tosignal additional PHY information based on IEEE 802.11ac. For example, awireless communication device can perform a 90-degree phase shift on theconstellation symbols associated with the tones of the third HT-SIG OFDMsymbol from the first two HT-SIG symbols, to realize auto-detection ofan IEEE 802.11ac packet. In some implementations, wireless communicationdevices can combine PHY and MAC signaling.

In some implementations, a wireless communication device can useun-equal error protection (UEP) for data transmission to a dual-radioreceiver. In some implementations, data such as video data can bedivided into a group of most significant bits and a group of leastsignificant bits. The most significant bit group can be transmitted overa first wireless channel to a dual-radio receiver using a lower datarate to achieve higher reliability. The least significant bit group canbe transmitted over a second wireless channel to the dual-radio receiverusing a higher data rate.

FIG. 12 shows an example a dual-radio wireless communication device. Adual-radio wireless communication device 1205 includes processorelectronics 1210 in communication with two or more radio units 1215 a,1215 b. Processor electronics 1210 can include one or more processors.In some implementations, processor electronics 1210 includes specializedlogic to perform one or more specific functions.

The processor electronics 1210 can operate the radio unit 1215 a, 1215 bto transmit and receive communication signals. Radio unit 1215 a, 1215 bcan concurrently receive different physical layer frames of a datapacket. For example, a first radio unit 1215 a can receive communicationsignals that include one or more signals indicative of a first physicallayer frame of a data packet. The first radio unit 1215 a can produce afirst output based on the first physical layer frame. A second radiounit 1215 b can receive communication signals that include one or moresignals indicative of a second physical layer frame of the data packet.The second radio unit 1215 b can produce a second output based on thesecond physical layer frame. Processor electronics 1210 can combineinformation based on the first and second outputs of the radio units1215 a, 1215 b to resolve the data packet.

FIG. 13A shows an example of a multi-radio architecture 1301. Thearchitecture 1301 includes a scrambler 1305, forward error correction(FEC) module 1310, stream parser 1315, constellation mapper 1320,spatial mapper 1325, a multiplexer such as a frequency band parser 1330,and two or more radio pathways 1332 a-b. The pathways 1332 a-b includeinverse discrete Fourier transform (IDFT) modules 1335 a-b, guardinterval (GI) and window modules 1340 a-b, and DACs 1345 a-b. Thearchitecture 1301 transforms an incoming data stream into a data packet.The incoming data stream can be generated by a MAC module (not shown).Each of the pathways 1332 a-b are configured to produce differentportions of the data packet. The outputs of the pathways 1332 a-binclude separate time domain signals that will be transmittedconcurrently. The IDFT modules 1335 a-b can be configured to transform avector of frequency domain values into a vector of time domain valuesusing an inverse Fourier transformation. The length of the vector offrequency domain values is based on the number of OFDM subcarriersassigned to a pathway 1332 a-b. The pathways 1332 a-b are associatedwith different frequency bands. In some implementations, thearchitecture 1301 can include circuitry to modulate outputs of thepathways 1332 a-b using different carrier frequencies, that correspondto different frequency bands. For example, each of the pathways 1332 a-bcan include a modulator, after respective DACs 1345 a-b, to up-convert abaseband time domain signal into a predetermined frequency band using acarrier frequency based oscillator signal. The architecture 1301 can beconfigured to encode an incoming data stream across the frequency bands.In some implementations, the frequency bands include at least twonon-adjacent frequency bands.

In some implementations, the stream parser 1315 can parse an incomingdata stream into N_(sts) number of spatial streams for transmission overtwo or more spatial wireless channels. In some implementations, thespatial mapper 1325 transforms N_(sts) number of streams into N_(tx)number of transmission paths, where N_(tx) is the number of transmissionantennas. For example, two spatial streams can be mapped to two or moretransmission paths. In another example, a single spatial stream can bemapped two or more transmission paths. In some implementations, thespatial mapper 1325 is configured to use a spatial mapping matrix Q thatmaps N_(sts) number of spatial streams into N_(tx) number oftransmission paths, where Q is of dimension N_(tx)-by-N_(sts). Thearchitecture 1301 can be configured to encode an incoming data streamacross two or more spatial streams. In some implementations, the spatialmapper 1325 can be located after the frequency band parser 1330 suchthat each of the radio pathways 1332 a-b performs separate spatialmappings.

FIG. 13B shows another example of a multi-radio architecture 1302. Thearchitecture 1302 of FIG. 13B includes the architecture of FIG. 13A plusadditional elements. For example, architecture 1302 includes a binaryconvolutional code (BCC) interleaver-encoder 1317 coupled between thestream parser 1315 and the constellation mapper 1320. Theinterleaver-encoder 1317 can be configured to interleave and encode dataamong one or more spatial streams based on a BCC. Further, differentportions of a data packet produced by the radio pathways 1332 a-b can bejointly protected by the BCC. In some implementations, in a corruptedreceived version of such a data packet, information from one or multipleportions of the data packet can be used to recover the data packet or toat least detect the corruption. Moreover, architecture 1302 includes alow-density parity-check (LDPC) tone mapper 1322 and a space-time blockcode (STBC) encoder 1324 coupled between the constellation mapper 1320and the spatial mapper 1325. The STBC encoder 1324 can be configured toencode input data over space and time, e.g., different versions of thedata are transmitted over different antennas and timeslots.

FIG. 14 shows another example of a multi-radio architecture 1401. Thearchitecture 1401 includes a scrambler 1405, FEC module 1410, streamparser 1415, BCC interleaver-encoder 1420, constellation mapper 1425, amultiplexer such as a frequency band parser 1430, and two or more radiopathways 1432 a-b. The radio pathways 1460 a-b include a LDPC tonemapper 1435 a-b, STBC encoder 1435 a-b, spatial mapper 1440 a-b, IDFTmodule 1440 a-b, GI and window module 1450 a-b, and DAC 1455 a-b.

FIG. 15 shows yet another example of a multi-radio architecture 1501.The architecture 1501 includes a scrambler 1505, FEC module 1510, streamparser 1515, a multiplexer such as a frequency band parser 1530, and twoor more radio pathways 1560 a-b. The scrambler 1505 can be configured toscramble an incoming data stream. The FEC module 1510 can be configuredto forward error encode an output of the scrambler 1505. The streamparser 1515 can be configured to produce one or more spatial streamsbased on an output from the FEC module 1510. The frequency band parser1530 can be configured to multiplex bits from the stream parser 1515onto the pathways 1560 a-b for each of the one or more spatial streamsprovided by the stream parser 1515. The pathways 1560 a-b include aconstellation mapper 1535 a-b, spatial mapper 1540 a-b, IDFT module 1545a-b, GI and window module 1550 a-b, and DAC 1555 a-b. In someimplementations, a BCC interleaver is coupled between the stream parser1515 and the frequency band parser 1530. In some implementations, a LDPCtone mapper and STBC encoder are coupled between the constellationmapper 1535 a-b and the spatial mapper 1540 a-b in each pathway 1560a-b.

FIG. 16A shows an example of an element distribution associated with ablock-wise multiplexing technique. A group of elements 1605 a-n of adata stream is block-wise parsed for inclusion into first and secondOFDM symbols 1610 a-b that will be concurrently transmitted withindifferent frequency bands. Thus, each block 1610 a-b holds a contiguousgrouping of elements 1605 a-n from the data stream. In someimplementations, elements 1605 a-n are bits. In some implementations,elements 1605 a-n are constellation symbols. Each of the OFDM symbols1610 a-b includes multiple OFDM subcarriers.

FIG. 16B shows an example of an element distribution associated with around-robin multiplexing technique. Using a round-robin technique, agroup of elements 1650 a-n of a data stream is element-wise parsed forinclusion into first and second OFDM symbols 1655 a-b that will beconcurrently transmitted within different frequency bands. Thus, eachblock 1655 a-b holds a different and interleaved portion of elements1650 a-n from the data stream. As depicted, the distributed elements foreach symbol 1655 a-b are non-contiguous with respect to their originalplacement within the data stream. In some implementations, elements 1650a-n are bits. In some implementations, elements 1650 a-n are subgroupsof bits. The size of a subgroup of bits can be based on an alphabet sizeof a constellation mapper. In some implementations, elements 1650 a-nare constellation symbols. Each of the OFDM symbols 1655 a-b includesmultiple OFDM subcarriers.

FIG. 17 shows a flowchart of an example of a process associated with amulti-radio device. At 1705, the process includes accessing a datastream intended for transmission to a single wireless communicationdevice. In some implementations, the data stream is based on an outputof a stream parser. In some implementations, the stream parser cangenerate two or more spatial streams. In some implementations, the datastream is based on an output of a BCC interleaver-encoder and a streamparser. For example, the BCC interleaver-encoder can be configured toperform BCC encoding and interleaving among two or more spatial streamsproduced by a stream parser.

At 1707, the process includes performing constellation mapping based, atleast, on the data stream to produce a constellation mapped version ofthe data stream. At 1710, the process includes multiplexing theconstellation mapped version of the data stream onto two or more radiopathways to produce a data packet. Each radio pathway can include aradio unit. In some implementations, the process includes performingspatial mapping based, at least, on the constellation mapped version ofthe data stream to produce a spatial version of the data stream. In someimplementations, multiplexing the constellation mapped version of thedata stream onto the two or more radio pathways, at 1710, can includemultiplexing the spatial version of the data stream onto the two or moreradio pathways.

At 1715, the process includes operating the two or more radio pathwaysto respectively use two or more groups of OFDM subcarriers to generatetwo or more different portions of the data packet. The two or moregroups of OFDM subcarriers are respectively assigned to two or morefrequency bands. At 1720, the process includes transmitting the datapacket to the single wireless communication device by concurrenttransmissions of the two or more different portions via the two or morefrequency bands.

In some implementations, multiplexing the constellation mapped versionof the data stream onto the two or more radio pathways, at 1710, caninclude alternating among the two or more radio pathways to distributeconstellation symbols of the constellation mapped version of the datastream such that each radio pathway obtains a different interleavedportion of the constellation mapped version of the data stream. In someimplementations, the process uses a spatial mapping matrix Q to mapN_(sts) number of spatial streams into N_(tx) number of transmissionpaths, where Q is of dimension N_(tx)-by-N_(sts). In someimplementations, the multiplexing at 1710 can use an output produced byusing a spatial mapping matrix Q. Assume, for example, that there areN_(f) frequency bands, and N_(tone) OFDM subcarriers per frequency band.For each transmission path (N_(tx) in total), the process allocates N1constellation symbols to each frequency band in a round-robin fashion.For example, N1 constellations in a first transmission path areallocated to the first transmission path of the first frequency band,then the next N1 constellations in the first transmission path areallocated to the first transmission path of the second frequency band.This continues until the last N1 constellation symbols are allocated.Then the constellation symbols in the second transmission path isallocated to N_(f) frequency bands in the same manner. In someimplementations, N1 can be selected such that it is an integer thatallows N_(tone)/N_(f)/N1 to be an integer.

In some implementations, multiplexing the constellation mapped versionof the data stream onto the two or more radio pathways, at 1710, caninclude providing a first group of contiguous constellation symbols ofthe constellation mapped version of the data stream to a first radiopathway of the two or more radio pathways, and providing a second groupof contiguous constellation symbols of the constellation mapped versionof the data stream to a second radio pathway of the two or more radiopathways. Assume, for example, that there are N_(f) frequency bands,N_(tone) OFDM subcarriers per frequency band, and thatN2=N_(tone)/N_(f). In a block-wise multiplexing scheme, for the firsttransmission path, N2 constellation symbols are allocated to the firsttransmission path of the first frequency band; then the next N2constellation symbols are allocated to the first transmission path ofthe second frequency band; continue until the last N2 constellationsymbols are allocated to the first transmission path of the lastfrequency band. The block-wise multiplexing scheme can be performed foreach of N_(tx) transmission paths.

FIG. 18 shows a flowchart of another example of a process associatedwith a multi-radio device. At 1805, the process includes accessing adata stream intended for transmission to a single wireless communicationdevice. At 1810, the process includes multiplexing bits of the datastream onto the two or more radio pathways to produce a data packet. Insome implementations, multiplexing bits of the data stream can includeapply a multiplexing technique to each of one or more spatial streams.At 1815, the process includes operating the two or more radio pathwaysto respectively use two or more groups of OFDM subcarriers to generatetwo or more different portions of the data packet. The two or moregroups of OFDM subcarriers are respectively assigned to two or morefrequency bands. Operating, at 1815, the two or more radio pathways caninclude, at 1817, performing constellation mapping separately withineach of the radio pathways. Operating, at 1815, the two or more radiopathways can include, at 1818, performing spatial mapping separatelywithin each of the radio pathways. For example, the process can apply aspatial mapping matrix Q within each of the radio pathways. Operating,at 1815, the two or more radio pathways can include, at 1819, caninclude performing separate inverse Fourier transformations. At 1820,the process includes transmitting the data packet to the single wirelesscommunication device by concurrent transmissions of the two or moredifferent portions via the two or more frequency bands.

In some implementations, multiplexing the bits of the data stream, at1810, can include alternating among the two or more radio pathways todistribute the bits such that each radio pathway obtains a differentinterleaved portion of the bits. For each spatial stream, allocate N3bits to each frequency band in a round robin fashion. For example, N3bits in a first spatial stream is allocated to the first spatial streamof the first frequency band, then the next N3 bits in the first spatialstream is allocated to the first spatial stream of the second frequencyband, continue until the last N3 bits are allocated. For the secondspatial stream, allocate N3 bits in the second spatial stream to N_(f)frequency bands in the same manner. Repeat, for any additional spatialstreams. In some implementations, N3 can be selected such that it is aninteger that allows S*N_(tone)/N_(f)/N3 to be an integer, e.g., N3=1, S,or 2S, where S is a number of bits represented by each constellationsymbols. For example, BPSK encodes one bit per constellation symbol(S=1), QPSK encodes two bits per constellation symbol (S=2), and 64QAMencodes 6 bits per symbol (S=6).

In some implementations, multiplexing the bits of the data stream, at1810, can include providing a first group of contiguous bits of the bitsof the data stream to a first radio pathway of the two or more radiopathways; and providing a second group of contiguous bits of the bits ofthe data stream to a second radio pathway of the two or more radiopathways. Assume, for example, that there are N_(f) frequency bands,N_(tone) OFDM subcarriers per frequency band, and thatN4=S*N_(tone)/N_(f). For the first spatial stream, N4 bits are allocatedto the first spatial stream of the first frequency band; then the nextN4 bits are allocated to the first spatial stream of the secondfrequency band; continue until the last N4 bits of the first spatialstream are allocated to the first spatial stream of the last frequencyband. Repeat, for the second spatial stream, and any remaining spatialstreams.

A few embodiments have been described in detail above, and variousmodifications are possible. The disclosed subject matter, including thefunctional operations described in this specification, can beimplemented in electronic circuitry, computer hardware, firmware,software, or in combinations of them, such as the structural meansdisclosed in this specification and structural equivalents thereof,including potentially a program operable to cause one or more dataprocessing apparatus to perform the operations described (such as aprogram encoded in a computer-readable medium, which can be a memorydevice, a storage device, a machine-readable storage substrate, or otherphysical, machine-readable medium, or a combination of one or more ofthem).

The term “data processing apparatus” encompasses all apparatus, devices,and machines for processing data, including by way of example aprogrammable processor, a computer, or multiple processors or computers.The apparatus can include, in addition to hardware, code that creates anexecution environment for the computer program in question, e.g., codethat constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, or a combination of one or moreof them.

A program (also known as a computer program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, or declarative orprocedural languages, and it can be deployed in any form, including as astand alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment. A program does notnecessarily correspond to a file in a file system. A program can bestored in a portion of a file that holds other programs or data (e.g.,one or more scripts stored in a markup language document), in a singlefile dedicated to the program in question, or in multiple coordinatedfiles (e.g., files that store one or more modules, sub programs, orportions of code). A program can be deployed to be executed on onecomputer or on multiple computers that are located at one site ordistributed across multiple sites and interconnected by a communicationnetwork.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of what may be claimed, but ratheras descriptions of features that may be specific to particularembodiments. Certain features that are described in this specificationin the context of separate embodiments can also be implemented incombination in a single embodiment. Conversely, various features thatare described in the context of a single embodiment can also beimplemented in multiple embodiments separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments.

Other embodiments fall within the scope of the following claims.

What is claimed is:
 1. A method, comprising: accessing a data streamintended for transmission to a single wireless communication device;generating, in a medium access control (MAC) layer, a MAC protocol dataunit (MPDU) for the single wireless communication device based on thedata stream; generating a physical layer service data unit (PSDU) thatincludes the MPDU; multiplexing the data stream to two or more radiopathways to produce a data packet, wherein multiplexing the data streamcomprises multiplexing the PSDU to the two or more radio pathways;generating, via the two or more radio pathways, two or more differentphysical layer portions of the data packet based on an aggregatedcapacity of two or more wireless channels that are associated with thetwo or more radio pathways, wherein the two or more radio pathways arerespectively configured to use two or more groups of orthogonalfrequency division multiplexing (OFDM) subcarriers to generate the twoor more different physical layer portions of the data packet, whereinthe two or more different physical layer portions of the data packetrespectively comprise different portions of the MPDU; determiningmultiplexing matrices for two or more radio units of the single wirelesscommunication device based on channel conditions; and transmitting thedata packet to the single wireless communication device by concurrenttransmissions of the two or more different physical layer portions ofthe data packet via the two or more wireless channels, the transmissionsof the two or more different physical layer portions being based on themultiplexing matrices for the two or more radio units of the singlewireless communication device, wherein transmitting the data packetcomprises transmitting signaling information that causes a legacy deviceto ignore processing of the concurrent transmissions of the two or moredifferent physical layer portions of the data packet and to prevent thelegacy device from transmitting during the concurrent transmissions ofthe two or more different physical layer portions of the data packet. 2.The method of claim 1, wherein multiplexing the data stream comprisesmultiplexing a stream of bits onto the two or more radio pathways,wherein the radio pathways are configured to perform constellationmapping based on respective portions of the stream of bits.
 3. Themethod of claim 2, wherein multiplexing the stream of bits onto the twoor more radio pathways comprises alternating among the two or more radiopathways to distribute the stream of bits such that each radio pathwayobtains a different interleaved portion of the stream of bits.
 4. Themethod of claim 1, comprising: performing constellation mapping based,at least, on the data stream to produce a constellation mapped versionof the data stream, wherein multiplexing the data stream comprisesmultiplexing the constellation mapped version of the data stream ontothe two or more radio pathways.
 5. The method of claim 4, whereinmultiplexing the constellation mapped version of the data stream ontothe two or more radio pathways comprises alternating among the two ormore radio pathways to distribute constellation symbols of theconstellation mapped version of the data stream such that each radiopathway obtains a different interleaved portion of the constellationmapped version of the data stream.
 6. The method of claim 1, comprising:performing constellation mapping based, at least, on the data stream toproduce a constellation mapped version of the data stream; andperforming spatial mapping based, at least, on the constellation mappedversion of the data stream to produce a spatial version of the datastream, wherein multiplexing the data stream comprises multiplexing thespatial version of the data stream onto the two or more radio pathways.7. The method of claim 1, comprising: interleaving and encoding the datastream based on a binary convolutional code to produce a convolutionalversion of the data stream, wherein multiplexing the data streamcomprises multiplexing the convolutional version of the data stream ontothe two or more radio pathways, and wherein the different physical layerportions of the data packet are jointly protected by the binaryconvolutional code.
 8. A system, comprising: processor electronicsconfigured to generate data intended for transmission to a singlewireless communication device within a data packet, generate, in amedium access control (MAC) layer, a MAC protocol data unit (MPDU) forthe single wireless communication device based on the data, and generatea physical layer service data unit (PSDU) that includes the MPDU; aparser configured to multiplex the data to two or more streams; two ormore radio pathways that are configured to collectively produce the datapacket based, at least, on the two or more streams, wherein the two ormore radio pathways are configured to generate two or more differentphysical layer portions of the data packet based on an aggregatedcapacity of two or more wireless channels that are associated with thetwo or more radio pathways, wherein the two or more radio pathways arerespectively configured to use two or more groups of orthogonalfrequency division multiplexing (OFDM) subcarriers to generate the twoor more different physical layer portions of the data packet, whereinthe parser is configured to multiplex the PSDU to the two or more radiopathways, and wherein the two or more different physical layer portionsof the data packet respectively comprise different portions of the MPDU;and circuitry configured to: determine multiplexing matrices for two ormore radio units of the single wireless communication device based onchannel conditions; transmit the data packet to the single wirelesscommunication device by concurrent transmissions of the two or moredifferent physical layer portions via the two or more wireless channels,the transmissions of the two or more different physical layer portionsbeing based on the multiplexing matrices for the two or more radio unitsof the single wireless communication device; and transmit signalinginformation that causes a legacy device to ignore processing of theconcurrent transmissions of the two or more different physical layerportions of the data packet and to prevent the legacy device fromtransmitting during the concurrent transmissions of the two or moredifferent physical layer portions of the data packet.
 9. The system ofclaim 8, wherein the parser is configured to multiplex bits of the dataonto the two or more radio pathways, wherein the two or more radiopathways each comprise a constellation mapper configured to generateconstellation symbols based on respective portions of the bits of thedata.
 10. The system of claim 9, wherein the parser is configured tomultiplex the bits of the data by alternating among the two or moreradio pathways to distribute the bits such that each radio pathwayobtains a different interleaved portion of the bits.
 11. The system ofclaim 8, comprising: a constellation mapper configured to produce aconstellation mapped version of the data, wherein the parser isconfigured to multiplex the constellation mapped version of the data into the two or more streams.
 12. The system of claim 11, wherein theparser is configured to alternate among the two or more radio pathwaysto distribute constellation symbols of the constellation mapped versionof the data such that each radio pathway obtains a different interleavedportion of the constellation mapped version of the data.
 13. The systemof claim 8, comprising: a constellation mapper configured to produce aconstellation mapped version of the data; and a spatial mapperconfigured to perform spatial mapping based, at least, on theconstellation mapped version of the data to produce a spatial version ofthe data, wherein the parser is configured to multiplex the spatialversion of the data in to the two or more streams.
 14. The system ofclaim 8, comprising: circuitry configured to interleave and encode thedata based on a binary convolutional code to produce a convolutionalversion of the data, wherein the parser is configured to multiplex theconvolutional version of the data in to the two or more streams, andwherein the different physical layer portions of the data packet arejointly protected by the binary convolutional code.
 15. An apparatus,comprising: a parser configured to multiplex data, intended fortransmission to a single wireless communication device within a datapacket, to two or more streams; and two or more radio units that areconfigured to collectively produce the data packet based, at least, onthe two or more streams, wherein the two or more radio units areconfigured to generate two or more different portions of the data packetbased on an aggregated capacity of two or more wireless channels thatare associated with the two or more radio units, wherein the two or moreradio units are respectively configured to use two or more groups oforthogonal frequency division multiplexing (OFDM) subcarriers togenerate the two or more different portions of the data packet, andwherein the two or more radio units each include circuitry to: determinemultiplexing matrices for two or more radio units of the single wirelesscommunication device based on channel conditions; and produce two ormore transmission signals for transmission over respective two or moreantennas to the single wireless communication device, wherein the datapacket is based, at least, on the two or more transmission signalsproduced from each of the two or more radio units, the two or moretransmission signals being based on the multiplexing matrices for thetwo or more radio units of the single wireless communication device,wherein the two or more transmission signals comprise signalinginformation to cause the single wireless communication device to combineinformation resolved from the two or more transmission signals beforetransmitting an acknowledgement to the data packet.
 16. The apparatus ofclaim 15, wherein the parser is configured to multiplex bits of the dataonto the two or more radio units, wherein the two or more radio unitseach comprise a constellation mapper configured to generateconstellation symbols based on respective portions of the bits of thedata.
 17. The apparatus of claim 16, wherein the parser is configured tomultiplex the bits of the data by alternating among the two or moreradio units to distribute the bits such that each radio unit obtains adifferent interleaved portion of the bits.
 18. The apparatus of claim15, comprising: a constellation mapper configured to produce aconstellation mapped version of the data, wherein the parser isconfigured to multiplex the constellation mapped version of the data into the two or more streams.
 19. The apparatus of claim 15, comprising: aconstellation mapper configured to produce a constellation mappedversion of the data; and a spatial mapper configured to perform spatialmapping based, at least, on the constellation mapped version of the datato produce a spatial version of the data, wherein the parser isconfigured to multiplex the spatial version of the data in to the two ormore streams.
 20. The apparatus of claim 15, comprising: circuitryconfigured to interleave and encode the data based on a binaryconvolutional code to produce a convolutional version of the data,wherein the parser is configured to multiplex the convolutional versionof the data in to the two or more streams, and wherein the differentportions of the data packet are jointly protected by the binaryconvolutional code.